package com.sokobanboxpro.game.entity;

/**
 * Ход игрока.
 *
 * @author Esr
 */
public class Move {

		/**
		 * Координата игрока по x.
		 */
		private int playerX;
		/**
		 * Координата игрока по y.
		 */
		private int playerY;
		/**
		 * Направление движения игрока.
		 */
		private Direction playerDirection;
		/**
		 * Был ли смешен ящик.
		 */
		private boolean boxMove;
		/**
		 * Смешеный ящик.
		 */
		private Box box = null;
		/**
		 * Координата ящика x.
		 */
		private int boxX;
		/**
		 * Координата ящика y.
		 */
		private int boxY;

		/**
		 * Получить координату игрока по x.
		 *
		 * @return Координата игрока по x
		 */
		public int getPlayerX() {
				return playerX;
		}

		/**
		 * Установить координату игрока по x.
		 *
		 * @param playerX Устанавливаема координата игрока по x
		 */
		public void setPlayerX(int playerX) {
				this.playerX = playerX;
		}

		/**
		 * Получить координату игрока по y.
		 *
		 * @return Координата игрока по y
		 */
		public int getPlayerY() {
				return playerY;
		}

		/**
		 * Установить координату игрока по y.
		 *
		 * @param playerY Устанавливаема координата игрока по y
		 */
		public void setPlayerY(int playerY) {
				this.playerY = playerY;
		}

		/**
		 * Узнать, был ли смешен ящик.
		 *
		 * @return Был ли смешен ящик
		 */
		public boolean isBoxMove() {
				return boxMove;
		}

		/**
		 * Установить, был ли смешен ящик.
		 *
		 * @param boxMove Был ли смешен ящик
		 */
		public void setBoxMove(boolean boxMove) {
				this.boxMove = boxMove;
		}

		/**
		 * Получить координату ящика по x.
		 *
		 * @return Координата ящика по x
		 */
		public int getBoxX() {
				return boxX;
		}

		/**
		 * Установить координату ящика по x.
		 *
		 * @param boxX Координата ящика по x
		 */
		public void setBoxX(int boxX) {
				this.boxX = boxX;
		}

		/**
		 * Получить координату ящика по y.
		 *
		 * @return Координата ящика по y
		 */
		public int getBoxY() {
				return boxY;
		}

		/**
		 * Установить координату ящика по y.
		 *
		 * @param boxY Координата ящика по y
		 */
		public void setBoxY(int boxY) {
				this.boxY = boxY;
		}

		/**
		 * Получить смешаемый ящик.
		 *
		 * @return Ящик
		 */
		public Box getBox() {
				return box;
		}

		/**
		 * Установить, какой ящик был смешен.
		 *
		 * @param box Смешеный ящик
		 */
		public void setBox(Box box) {
				this.box = box;
		}

		/**
		 * Получить направление движения игрока.
		 *
		 * @return Направление движения игрока
		 */
		public Direction getPlayerDirection() {
				return playerDirection;
		}

		/**
		 * Установить направление движения игрока.
		 *
		 * @param playerDirection Направление движения игрока
		 */
		public void setPlayerDirection(Direction playerDirection) {
				this.playerDirection = playerDirection;
		}

}
